package com.woniu.humanresource.service.impl;


import com.woniu.humanresource.dao.JobLevelDao;
import com.woniu.humanresource.entity.JobLevel;
import com.woniu.humanresource.entity.PageBean;
import com.woniu.humanresource.service.JobLevelService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

@Service
public class JobLevelServiceImpl implements JobLevelService {

    @Resource
    JobLevelDao jobLevelDao;


    @Override
    public void insertJobLevel(JobLevel jobLevel) {
        jobLevelDao.insertJobLevel(jobLevel);
    }

    @Override
    public PageBean<JobLevel> getAllJobLevel(int pageIndex, int pageSize) {
        // 查询所有职位类别集合
        List<JobLevel> allJobLevel = jobLevelDao.selectAllJobLevel( pageIndex, pageSize);
        // 封装为pageBean对象
        PageBean<JobLevel> allJobLevelpageBean = new PageBean<>();
        allJobLevelpageBean.setBeanList(allJobLevel);
        allJobLevelpageBean.setPageIndex(pageIndex);
        allJobLevelpageBean.setPageSize(pageSize);
        allJobLevelpageBean.setBeginEnd();
        allJobLevelpageBean.setTotalRecord(jobLevelDao.selectJobLevelCount());
        return allJobLevelpageBean;
    }

    @Override
    public PageBean<JobLevel> getAllJobLevelByJoblv(int joblv, int pageIndex, int pageSize) {
        // 通过职位级别查询
        List<JobLevel> allJobLevelByJoblv = jobLevelDao.selectAllJobLevelByJoblv(joblv, pageIndex, pageSize);
        // 封装为pageBean对象
        PageBean<JobLevel> allJobLevelByJoblvpageBean = new PageBean<>();
        allJobLevelByJoblvpageBean.setBeanList(allJobLevelByJoblv);
        allJobLevelByJoblvpageBean.setPageIndex(pageIndex);
        allJobLevelByJoblvpageBean.setPageSize(pageSize);
        allJobLevelByJoblvpageBean.setBeginEnd();
        allJobLevelByJoblvpageBean.setTotalRecord(jobLevelDao.selectJobLevelByJoblvCount(joblv));
        return allJobLevelByJoblvpageBean;
    }

    @Override
    public PageBean<JobLevel> getJobLevelByJoblvPosition(int joblv, String position) {
        // 通过职位级别、职位查询
        List<JobLevel> jobLevelByJoblvPosition = jobLevelDao.selectJobLevelByJoblvPosition(joblv, position);
        // 封装为pageBean对象
        PageBean<JobLevel> jobLevelByJoblvPositionpageBean = new PageBean<>();
        jobLevelByJoblvPositionpageBean.setBeanList(jobLevelByJoblvPosition);
        jobLevelByJoblvPositionpageBean.setPageSize(1);
        jobLevelByJoblvPositionpageBean.setPageIndex(1);
        jobLevelByJoblvPositionpageBean.setBeginEnd();
        jobLevelByJoblvPositionpageBean.setTotalRecord(1);
        return jobLevelByJoblvPositionpageBean;
    }

    @Override
    public void deleteApplyByPosition(String position) {
        jobLevelDao.deleteApplyByPosition(position);
    }

    @Override
    public PageBean<JobLevel> getJoblv(JobLevel jobLevel, int pageIndex, int pageSize) {
        //条件查询
        List<JobLevel> jobLv = jobLevelDao.selectJoblv(jobLevel, pageIndex, pageSize);
        // 封装为pageBean对象
        PageBean<JobLevel> jobLvpageBean = new PageBean<>();
        jobLvpageBean.setBeanList(jobLv);
        jobLvpageBean.setPageSize(1);
        jobLvpageBean.setPageIndex(1);
        jobLvpageBean.setBeginEnd();
        jobLvpageBean.setTotalRecord(jobLevelDao.selectJoblvcounts(jobLevel));
        return jobLvpageBean;
    }

    @Override
    public void updateJobLevel(JobLevel jobLevel, String position) {
        jobLevelDao.updateJoblv(jobLevel,position);
    }
}
